Example embodiments of the inventive concepts relate to error check and correction circuits and semiconductor memories.
In a high-capacity memory such as a NAND flash memory, there is a possibility of stored data loss caused by various factors during data retention. An error rate tends to increase with large-scale memory capacity and miniaturization of manufacturing process. In order to overcome such a problem, an error check and correction (ECC) circuit has been used to improve performance of a flash memory. A highly reliable memory may be provided by mounting an ECC system as on-chip. Since data cannot be output to an external entity until a correction process is terminated in the ECC system, a technique is required to reduce this time.
In order to overcome the above problem, studies have been conducted on the use of high-speed Hamming codes and speedup of Bose-Chaudhuri-Hocquenghem (BCH) code that is capable of performing high-level correction. The BCH code is a type of block code using a finite or Galois field that contains a finite number of elements. In a block code such as BCH code or Reed-Solomon (RS) code, error location may be calculated using an error location search equation. For example, error location search is performed by sequentially substituting respective elements (other than zero) of the Galois field into the error location search equation and searching elements of the equation. The search of the elements is called a Chien search. Techniques associated with the Chien search are disclosed in Japanese Patent Application Nos. 2001-044853 (hereinafter referred to as “Patent Document 1”) and 2001-203587 (hereinafter referred to as “Patent Document 2”).
Patent Documents 1 and 2 describe Chien search circuits that implement error correction search equations using a flip-flop or register, a multiplication circuit or the like. A signal indicating a location of bit is input to the Chien search circuit to determine whether there is an error in the bit. Therefore, to determine whether there is an error in multiple bits in parallel requires a corresponding increase in the number of Chien search circuits. As the number of the Chien search circuits increases, the number of wirings for providing signals indicating locations of bits at the Chien search circuits also increases. Accordingly, if the number of the bits processed in parallel increases, the size of a Chien search unit including the Chien search circuits and their peripheral circuits also increases.